import request from '@/utils/request'
/**
 * 根据部门 ID 获取当前部门的员工
 */
export const getEmployeeList = (params) => {
  // return request.get('/sys/user', { params })
  return request({
    method: 'GET',
    url: '/sys/user',
    params
  })
}

/**
 * 导出/下载 Excel 接口
 */
export const exportEmployee = () => {
  return request({
    url: '/sys/user/export',
    // !如果后端明确表示返回的是二进制文件流，这儿要通过下面代码告诉 axios
    responseType: 'blob'
  })
}

/**
 * 下载模板
 */
export const getExportTemplate = () => {
  return request({
    method: 'GET',
    url: '/sys/user/import/template',
    responseType: 'blob'
  })
}

/**
 * 上传/导入接口
 */
export const uploadExcel = (data) => {
  return request({
    method: 'POST',
    url: '/sys/user/import',
    data // data 的值要是 formDate 格式，后端要求的，一般上传文件都是这样
  })
}
/**
 * 删除员工
 */
export function delEmployee(id) {
  return request({
    method: 'DELETE',
    url: `/sys/user/${id}`
  })
}

/**
 * 新增接口
 */
export function addEmployee(data) {
  return request({
    url: '/sys/user',
    method: 'POST',
    data
  })
}

/**
 * 根据员工 ID 获取详情，这里面也会包含当前用户的角色列表
 */
export function getEmployeeDetail(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

/**
 * 编辑员工
 */
export function updateEmployee(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'PUT',
    data
  })
}

/**
 * 获取所有角色
 */
export const getEnableRoleList = () => {
  return request({
    url: '/sys/role/list/enabled'
  })
}

// 分配角色
export const assignRole = (data) => {
  return request({
    method: 'PUT',
    url: `/sys/user/assignRoles`,
    data
  })
}
